package com.zs.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zs.blog.model.entity.UserRole;
import com.zs.blog.model.vo.PageInfoVO;
import com.zs.blog.model.vo.RoleListVO;
import com.zs.blog.model.vo.UserListVO;

import java.util.List;

/**
 * @Title: IUserRoleService
 * @Author zs
 * @Package com.zs.blog.service
 * @Date 2025/5/18 20:19
 * @description: 用户-角色服务层接口
 */
public interface IUserRoleService extends IService<UserRole> {

    /**
     * 根据角色ID获取用户列表 分页
     *
     * @param roleId   角色ID
     * @param pageNum  页码
     * @param pageSize 每页数据量
     * @return 分页的用户列表信息
     */
    PageInfoVO<UserListVO> listUserByRoleId(Integer roleId, Integer pageNum, Integer pageSize);

    /**
     * 根据用户ID获取未分配角色列表
     *
     * @param userId     用户ID
     * @param pageNum    页码
     * @param pageSize   每页数据量
     * @param roleIdList 角色ID列表
     * @return 分页的角色列表信息
     */
    PageInfoVO<RoleListVO> listRoleByUserId(Long userId, Integer pageNum, Integer pageSize, List<Long> roleIdList);
}
